package com.os.meituan.model.pomodel.sec;


import com.os.meituan.model.pomodel.ILoginUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@ApiModel("OA-SEC-美团用户")
@Entity
@Table(name = "SEC_USER")
public class SEC_User implements ILoginUser {
    @Id
    @Column(name = "Id")
    @GeneratedValue(generator = "seqid")
    @GenericGenerator(name = "seqid", strategy = "com.os.meituan.common.IdWorkerGenerator")
    private String id;
    @Column(name = "LoginId", nullable = false)
    private String loginId;
    @Column(name = "Name", nullable = false)
    private String name;
    @Column(name = "Type", nullable = false)
    private String type;
    @Column(name = "Password")
    private String password;
    @Column(name = "IM")
    private String im;
    @ApiModelProperty(value = "性别", allowableValues = "M-男,F-女,U-不明")
    @Column(name = "Sex", nullable = false)
    private String sex;
    @Column(name = "Birthday")
    private String birthday;
    @Column(name = "Status", nullable = false)
    private String status;
    @Column(name = "CreatedBy")
    private String createdBy;
    @Column(name = "CreatedDate", nullable = false)
    private Date createDate;
    @Column(name = "LastUpdatedBy", nullable = false)
    private String lastUpdateBy;
    @Column(name = "LastUpdatedDate", nullable = false)
    private Date lastUpdateDate;
    @Column(name = "OrgId", nullable = false)
    private String orgId;

    @ApiModelProperty(value = "职务")
    @Column(name = "Job")
    private String job;

    @ApiModelProperty("终端号码")
    @Column(name = "MobilePhone")
    private String mobilePhone;
    @ApiModelProperty("座机号码")
    @Column(name = "Telephone")
    private String telePhone;
    @ApiModelProperty(value = "是否已删除", example = "1") // 0:未删除 1:已删除
    @Column(name = "IsDelete")
    private Integer isDelete;

    @ApiModelProperty(value = "身份证")
    @Column(name = "IdentityNo")
    private String identityNo;

    @ApiModelProperty(value = "源部门")
    @Column(name = "SourceOrgId")
    private String sourceOrgId;

    @Transient
    private String orgName;
    @Transient
    private String token;
    @Transient
    private String roleIds;
    @Transient
    private String powerIds;
    @Transient
    private String sourceOrgName;



    @ApiModelProperty(value = "性别中文")
    @Transient
    private String sexText;

    @ApiModelProperty(value = "状态中文")
    @Transient
    private String isDeleteText;

    @Override
    public void setLoginUserID(String id) {

    }

    @Override
    public String getLoginUserID() {
        return null;
    }

    @Override
    public void setLoginUserAccount(String account) {

    }

    @Override
    public String getLoginUserAccount() {
        return null;
    }

    @Override
    public String getLoginUserName() {
        return this.name;
    }

    @Override
    public String getLoginUserToken() {
        return null;
    }

    @Override
    public void setLoginUserToken(String token) {

    }

    @Override
    public void setLoginUserType(String type) {

    }

    @Override
    public String getLoginUserType() {
        return null;
    }

    @Override
    public String getLoginUserMobile() {
        return null;
    }

    @Override
    public List<String> getLoginUserRolesKey() {
        return null;
    }

    @Override
    public void setLoginUserRolesKey(String keys) {

    }

    @Override
    public List<String> getLoginUserRolesPower() {
        return null;
    }

    @Override
    public void setLoginUserRolesPower(String powers) {

    }

    @Override
    public void setLoginUserFrom(String ac) {

    }

    @Override
    public String getLoginUserFrom() {
        return null;
    }

    @Override
    public String getLoginUserOrgId() {
        return null;
    }

    @Override
    public String getLoginUserOrgName() {
        return null;
    }

    @Override
    public String getLoginUserIdCard() {
        return null;
    }

}
